/**
 * GUICommand.java
 */
package commands.gui;

import commands.*;

/**
 * Main class for GUI commands
 * @author Marcin Kamionowski
 *
 */
public class GUICommand extends Command {

    public enum GUICommandType {

        /** returning result of search*/
        SEARCH_RESULT,
        /** request to clear shared files list*/
        CLEAR_SHARED_LIST,
        /** request to clear downloads list*/
        CLEAR_DOWNLOAD_LIST,
        /** inform that program is stoped*/
        STOPED,
        /** inform that program is working*/
        STARTED,
        /** returning state of all downloads*/
        DOWNLOADS_STATUS,
        /** returning list of shared files*/
        SHARED_FILES_LIST,
        /** returning current properties*/
        PREFERENCES,
        /** returning name of active host*/
        HOST_ACTIVE,
        /** save state of windows and hide them - deprecated: do this before sending
        exit command to controller */
        @Deprecated
        EXIT,
        /** Error during downloading file */
        ERROR,
        /** Download finished */
        FINISHED
    };
    private final GUICommandType commandType;

    /**
     * Constructor
     * @param guict Command type
     */
    public GUICommand(GUICommandType guict) {
        super(CommandReceiverType.GUI);
        commandType = guict;
    }

    /**
     *
     * @return Type of current command
     */
    public GUICommandType getCommandType() {
        return commandType;
    }
}
